package com.woniu.cloud.api;


import com.woniu.cloud.common.dto.Result;
import com.woniu.cloud.form.StoreInsertForm;
import com.woniu.cloud.form.StoreUpdateForm;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.math.BigDecimal;

/**

 *
 * @author Lucas
 * @since 2021-09-22
 */
@FeignClient(value = "store",contextId = "StoreApi")
public interface StoreApi {

    /***
     *
     * @param storeId 当前店铺ID
     * @return data为该店铺详情
     */
    @GetMapping("getStoreByStoreId")
    Result getStoreByStoreId(@RequestParam("storeId")Integer storeId);

    /***
     *
     * @param storeLongitude 用户所在位置经度
     * @param storeLatitude 用户所在位置纬度
     * @param radius 附近范围 .默认 2 km
     * @return data为该经纬度所在附近店铺list
     */
    @GetMapping("getStoreList")
    Result getStoreList(
            @RequestParam("serviceId")Integer serviceId,
            @RequestParam("storeLongitude")Double storeLongitude,
            @RequestParam("storeLatitude")Double storeLatitude,
            @RequestParam("radius") Double radius);


    /***
     * 添加店铺
     * @param storeInsertForm 店铺表前端传参数据对象
     * @return true false
     */
    @PostMapping("insertStore")
    Result insertStore(@RequestBody StoreInsertForm storeInsertForm);


    /***
     * 修改店铺
     * @param storeUpdateForm 店铺表前端修改数据对象
     * @return true false
     */
    @PutMapping("updateStore")
    Result updateStore(@RequestBody StoreUpdateForm storeUpdateForm);

    /***
     * 店铺账户充值
     * @param payNum 评论表前端传参数据对象
     * @return data为success/fail
     */
    @PutMapping("insertStorePay")
    Result insertStorePay(@RequestParam("storeId")Integer storeId,
                          @RequestParam("payNum") BigDecimal payNum);
}
